<!DOCTYPE html>
<html lang="zh-CN">
    <!-- title -->




<!-- keywords -->




<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" >
    <meta name="author" content="宇航猫休蛰">
    <meta name="renderer" content="webkit">
    <meta name="copyright" content="宇航猫休蛰">
    
    <meta name="keywords" content="hexo,hexo-theme,hexo-blog">
    
    <meta name="description" content="">
    <meta name="description" content="2020年是我第一次参加美赛，为此寒假特地准备了一个多月，庆幸的是学的很多东西都确实用上了，算是学有所用吧。但也发现有许多东西没有接触过，最后复盘也发现很多东西在建模的时候没有详细的考虑，许多涉及到Stochastic Process的知识没有学习过（听闻知乎大佬的回答说d小问可以考虑一些随机过程的方法[1]，但是我这学期才开随机过程，只学了一点皮毛）。d小题还想到了一个从信号与系统中LTI离散">
<meta property="og:type" content="article">
<meta property="og:title" content="2020美赛C题参赛纪录">
<meta property="og:url" content="http://xiuzhedorothy.gitee.io/2020/03/15/2020-mei-sai-c-ti-can-sai-ji-lu/index.html">
<meta property="og:site_name" content="休蛰的笔记本">
<meta property="og:description" content="2020年是我第一次参加美赛，为此寒假特地准备了一个多月，庆幸的是学的很多东西都确实用上了，算是学有所用吧。但也发现有许多东西没有接触过，最后复盘也发现很多东西在建模的时候没有详细的考虑，许多涉及到Stochastic Process的知识没有学习过（听闻知乎大佬的回答说d小问可以考虑一些随机过程的方法[1]，但是我这学期才开随机过程，只学了一点皮毛）。d小题还想到了一个从信号与系统中LTI离散">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/81HzLt.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/81xpcD.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/81xNgU.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/81z5yF.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/83pPuF.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/83pm36.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/83ihS1.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/83iOfA.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/83qhwt.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88S7sU.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88p26K.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/889Cpq.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88ClPs.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88C5RI.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88PGYd.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88kSSA.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88kyfH.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88eZMd.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88ecLR.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88mb3F.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88uARU.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88udot.png">
<meta property="og:image" content="https://s1.ax1x.com/2020/03/15/88u2es.png">
<meta property="article:published_time" content="2020-03-15T05:15:38.000Z">
<meta property="article:modified_time" content="2021-01-24T03:24:16.909Z">
<meta property="article:author" content="宇航猫休蛰">
<meta property="article:tag" content="数学建模">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://s1.ax1x.com/2020/03/15/81HzLt.png">
    <meta http-equiv="Cache-control" content="no-cache">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    
    <link rel="alternate" href="/atom.xml" title="宇航猫的笔记本" type="application/atom+xml">
    
    <title>2020美赛C题参赛纪录 · 宇航猫的笔记本</title>
    <style type="text/css">
    @font-face {
        font-family: 'Oswald-Regular';
        src: url("/font/Oswald-Regular.ttf");
    }

    body {
        margin: 0;
    }

    header,
    footer,
    .back-top,
    .sidebar,
    .container,
    .site-intro-meta,
    .toc-wrapper {
        display: none;
    }

    .site-intro {
        position: relative;
        z-index: 3;
        width: 100%;
        /* height: 50vh; */
        overflow: hidden;
    }

    .site-intro-placeholder {
        position: absolute;
        z-index: -2;
        top: 0;
        left: 0;
        width: calc(100% + 300px);
        height: 100%;
        background: repeating-linear-gradient(-45deg, #444 0, #444 80px, #333 80px, #333 160px);
        background-position: center center;
        transform: translate3d(-226px, 0, 0);
        animation: gradient-move 2.5s ease-out 0s infinite;
    }

    @keyframes gradient-move {
        0% {
            transform: translate3d(-226px, 0, 0);
        }
        100% {
            transform: translate3d(0, 0, 0);
        }
    }

</style>

    <link rel="preload" href= "/css/style.css?v=20180824" as="style" onload="this.onload=null;this.rel='stylesheet'" />
    <link rel="stylesheet" href= "/css/mobile.css?v=20180824" media="(max-width: 980px)">
    
    <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.2.5/jquery.fancybox.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'" />
    
    <!-- /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
/* This file is meant as a standalone workflow for
- testing support for link[rel=preload]
- enabling async CSS loading in browsers that do not support rel=preload
- applying rel preload css once loaded, whether supported or not.
*/ -->
<script>
(function( w ){
	"use strict";
	// rel=preload support test
	if( !w.loadCSS ){
		w.loadCSS = function(){};
	}
	// define on the loadCSS obj
	var rp = loadCSS.relpreload = {};
	// rel=preload feature support test
	// runs once and returns a function for compat purposes
	rp.support = (function(){
		var ret;
		try {
			ret = w.document.createElement( "link" ).relList.supports( "preload" );
		} catch (e) {
			ret = false;
		}
		return function(){
			return ret;
		};
	})();

	// if preload isn't supported, get an asynchronous load by using a non-matching media attribute
	// then change that media back to its intended value on load
	rp.bindMediaToggle = function( link ){
		// remember existing media attr for ultimate state, or default to 'all'
		var finalMedia = link.media || "all";

		function enableStylesheet(){
			link.media = finalMedia;
		}

		// bind load handlers to enable media
		if( link.addEventListener ){
			link.addEventListener( "load", enableStylesheet );
		} else if( link.attachEvent ){
			link.attachEvent( "onload", enableStylesheet );
		}

		// Set rel and non-applicable media type to start an async request
		// note: timeout allows this to happen async to let rendering continue in IE
		setTimeout(function(){
			link.rel = "stylesheet";
			link.media = "only x";
		});
		// also enable media after 3 seconds,
		// which will catch very old browsers (android 2.x, old firefox) that don't support onload on link
		setTimeout( enableStylesheet, 3000 );
	};

	// loop through link elements in DOM
	rp.poly = function(){
		// double check this to prevent external calls from running
		if( rp.support() ){
			return;
		}
		var links = w.document.getElementsByTagName( "link" );
		for( var i = 0; i < links.length; i++ ){
			var link = links[ i ];
			// qualify links to those with rel=preload and as=style attrs
			if( link.rel === "preload" && link.getAttribute( "as" ) === "style" && !link.getAttribute( "data-loadcss" ) ){
				// prevent rerunning on link
				link.setAttribute( "data-loadcss", true );
				// bind listeners to toggle media back
				rp.bindMediaToggle( link );
			}
		}
	};

	// if unsupported, run the polyfill
	if( !rp.support() ){
		// run once at least
		rp.poly();

		// rerun poly on an interval until onload
		var run = w.setInterval( rp.poly, 500 );
		if( w.addEventListener ){
			w.addEventListener( "load", function(){
				rp.poly();
				w.clearInterval( run );
			} );
		} else if( w.attachEvent ){
			w.attachEvent( "onload", function(){
				rp.poly();
				w.clearInterval( run );
			} );
		}
	}


	// commonjs
	if( typeof exports !== "undefined" ){
		exports.loadCSS = loadCSS;
	}
	else {
		w.loadCSS = loadCSS;
	}
}( typeof global !== "undefined" ? global : this ) );
</script>

    <link rel="icon" href= "/assets/favicon.ico" />
    <link rel="preload" href="https://cdn.jsdelivr.net/npm/webfontloader@1.6.28/webfontloader.min.js" as="script" />
    <link rel="preload" href="https://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js" as="script" />
    <link rel="preload" href="/scripts/main.js" as="script" />
    <link rel="preload" as="font" href="/font/Oswald-Regular.ttf" crossorigin>
    <link rel="preload" as="font" href="https://at.alicdn.com/t/font_327081_1dta1rlogw17zaor.woff" crossorigin>
    
    <!-- fancybox -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.2.5/jquery.fancybox.min.js" defer></script>
    <!-- 百度统计  -->
    
    <!-- 谷歌统计  -->
    
<meta name="generator" content="Hexo 4.2.0"><link rel="stylesheet" href="/css/prism.css" type="text/css"></head>

    
        <body class="post-body">
    
    
<header class="header">

    <div class="read-progress"></div>
    <div class="header-sidebar-menu">&#xe775;</div>
    <!-- post页的toggle banner  -->
    
    <div class="banner">
            <div class="blog-title">
                <a href="/" >宇航猫的笔记本</a>
            </div>
            <div class="post-title">
                <a href="#" class="post-name">2020美赛C题参赛纪录</a>
            </div>
    </div>
    
    <a class="home-link" href=/>宇航猫的笔记本</a>
</header>
    <div class="wrapper">
        <div class="site-intro" style="







height:50vh;
">
    
    <!-- 主页  -->
    
    
    <!-- 404页  -->
            
    <div class="site-intro-placeholder"></div>
    <div class="site-intro-img" style="background-image: url(/intro/post-bg.jpg)"></div>
    <div class="site-intro-meta">
        <!-- 标题  -->
        <h1 class="intro-title">
            <!-- 主页  -->
            
            2020美赛C题参赛纪录
            <!-- 404 -->
            
        </h1>
        <!-- 副标题 -->
        <p class="intro-subtitle">
            <!-- 主页副标题  -->
            
            
            <!-- 404 -->
            
        </p>
        <!-- 文章页meta -->
        
            <div class="post-intros">
                <!-- 文章页标签  -->
                
                    <div class= post-intro-tags >
    
        <a class="post-tag" href="javascript:void(0);" data-tags = "数学建模">数学建模</a>
    
</div>
                
                
                    <div class="post-intro-read">
                        <span>字数统计: <span class="post-count word-count">5.5k</span>阅读时长: <span class="post-count reading-time">19 min</span></span>
                    </div>
                
                <div class="post-intro-meta">
                    <span class="post-intro-calander iconfont-archer">&#xe676;</span>
                    <span class="post-intro-time">2020/03/15</span>
                    
                    <span id="busuanzi_container_page_pv" class="busuanzi-pv">
                        <span class="iconfont-archer">&#xe602;</span>
                        <span id="busuanzi_value_page_pv"></span>
                    </span>
                    
                    <span class="shareWrapper">
                        <span class="iconfont-archer shareIcon">&#xe71d;</span>
                        <span class="shareText">Share</span>
                        <ul class="shareList">
                            <li class="iconfont-archer share-qr" data-type="qr">&#xe75b;
                                <div class="share-qrcode"></div>
                            </li>
                            <li class="iconfont-archer" data-type="weibo">&#xe619;</li>
                            <li class="iconfont-archer" data-type="qzone">&#xe62e;</li>
                            <li class="iconfont-archer" data-type="twitter">&#xe634;</li>
                            <li class="iconfont-archer" data-type="facebook">&#xe67a;</li>
                        </ul>
                    </span>
                </div>
            </div>
        
    </div>
</div>
        <script>
 
  // get user agent
  var browser = {
    versions: function () {
      var u = window.navigator.userAgent;
      return {
        userAgent: u,
        trident: u.indexOf('Trident') > -1, //IE内核
        presto: u.indexOf('Presto') > -1, //opera内核
        webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
        gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
        mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
        ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
        android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
        iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者安卓QQ浏览器
        iPad: u.indexOf('iPad') > -1, //是否为iPad
        webApp: u.indexOf('Safari') == -1, //是否为web应用程序，没有头部与底部
        weixin: u.indexOf('MicroMessenger') == -1, //是否为微信浏览器
        uc: u.indexOf('UCBrowser') > -1 //是否为android下的UC浏览器
      };
    }()
  }
  console.log("userAgent:" + browser.versions.userAgent);

  // callback
  function fontLoaded() {
    console.log('font loaded');
    if (document.getElementsByClassName('site-intro-meta')) {
      document.getElementsByClassName('intro-title')[0].classList.add('intro-fade-in');
      document.getElementsByClassName('intro-subtitle')[0].classList.add('intro-fade-in');
      var postIntros = document.getElementsByClassName('post-intros')[0]
      if (postIntros) {
        postIntros.classList.add('post-fade-in');
      }
    }
  }

  // UC不支持跨域，所以直接显示
  function asyncCb(){
    if (browser.versions.uc) {
      console.log("UCBrowser");
      fontLoaded();
    } else {
      WebFont.load({
        custom: {
          families: ['Oswald-Regular']
        },
        loading: function () {  //所有字体开始加载
          // console.log('loading');
        },
        active: function () {  //所有字体已渲染
          fontLoaded();
        },
        inactive: function () { //字体预加载失败，无效字体或浏览器不支持加载
          console.log('inactive: timeout');
          fontLoaded();
        },
        timeout: 5000 // Set the timeout to two seconds
      });
    }
  }

  function asyncErr(){
    console.warn('script load from CDN failed, will load local script')
  }

  // load webfont-loader async, and add callback function
  function async(u, cb, err) {
    var d = document, t = 'script',
      o = d.createElement(t),
      s = d.getElementsByTagName(t)[0];
    o.src = u;
    if (cb) { o.addEventListener('load', function (e) { cb(null, e); }, false); }
    if (err) { o.addEventListener('error', function (e) { err(null, e); }, false); }
    s.parentNode.insertBefore(o, s);
  }

  var asyncLoadWithFallBack = function(arr, success, reject) {
      var currReject = function(){
        reject()
        arr.shift()
        if(arr.length)
          async(arr[0], success, currReject)
        }

      async(arr[0], success, currReject)
  }

  asyncLoadWithFallBack([
    "https://cdn.jsdelivr.net/npm/webfontloader@1.6.28/webfontloader.min.js", 
    "https://cdn.bootcss.com/webfont/1.6.28/webfontloader.js",
    "/lib/webfontloader.min.js"
  ], asyncCb, asyncErr)
</script>        
        <img class="loading" src="/assets/loading.svg" style="display: block; margin: 6rem auto 0 auto; width: 6rem; height: 6rem;" />
        <div class="container container-unloaded">
            <main class="main post-page">
    <article class="article-entry">
        <blockquote>
<p>2020年是我第一次参加美赛，为此寒假特地准备了一个多月，庆幸的是学的很多东西都确实用上了，算是学有所用吧。但也发现有许多东西没有接触过，最后复盘也发现很多东西在建模的时候没有详细的考虑，许多涉及到Stochastic Process的知识没有学习过（听闻知乎大佬的回答说d小问可以考虑一些随机过程的方法<a href="https://www.zhihu.com/question/377089279/answer/1062589336" target="_blank" rel="noopener">[1]</a>，但是我这学期才开随机过程，只学了一点皮毛）。d小题还想到了一个从信号与系统中LTI离散系统受到启发的差分方程模型，但奈何这方面的具体知识也不是太熟，所以只是一个很简单的模型，甚至可能漏洞百出。希望下次能够再接再厉吧，总体来说还是一次很有意思经历，数模尤其是C题还挺有意思的，能够很好的跟自己的专业知识结合起来。</p>
</blockquote>
<h2 id="问题回顾"><a class="markdownIt-Anchor" href="#问题回顾"></a> 问题回顾</h2>
<h3 id="原题"><a class="markdownIt-Anchor" href="#原题"></a> 原题</h3>
<p>在其创建的在线市场中，亚马逊为客户提供了一个评价和审查购买的机会。个人评级——称为“星级评级”（<strong>star ratings</strong>）——允许购买者使用1(低评级，低满意度)到5(高评级，高满意度)的等级来表达他们对产品的满意度。此外，客户可以提交基于文本的消息—称为“评论”（<strong>reviews</strong>）—来表达关于产品的进一步意见和信息。其他客户可以在这些评论中提交对他们自己的产品购买决策是否有帮助的评级——称为“帮助度评级”（<strong>helpfulness rating</strong>）。公司利用这些数据来洞察他们所参与的市场、参与的时机以及产品设计特性选择的潜在成功。</p>
<p>阳光公司计划在网上市场推出并销售三种新产品:微波炉（microwave oven）、婴儿奶嘴（baby pacifier）和电吹风（ hair dryer）。他们聘请你的团队作为顾问，以确定过去客户提供的与其他竞争产品相关的评级和评论中的关键模式、关系、度量和参数，以<font color=red>1)告知他们的在线销售策略，2)确定可能提高产品吸引力的重要设计特性。</font>阳光公司过去曾使用数据来告知销售策略，但他们以前从未使用过这个特殊的数据</p>
<p>关键模式、关系、度量和参数:<strong>key patterns, relationships, measures, and parameters</strong></p>
<p>为了帮助您，Sunshine的数据中心为您提供了三个数据文件：hair_dryer.tsv, microwave.tsv, and pacifier.tsv. 这些数据代表了在数据中显示的时间段内亚马逊市场上销售的微波炉、婴儿奶嘴和吹风机的客户提供的评级和评论。我们提供了数据标签定义的术语表，提供的数据文件包含您应该用于此问题的唯一数据。</p>
<p><strong>要求：</strong></p>
<ol>
<li>
<p>分析所提供的三个产品数据集，以识别，描述和支持数学证据，找出**星级，评论和帮助等级（helpfulness ratings）**之内和之间有意义的定量和/或定性模式，关系，度量和参数，将帮助阳光公司在他们的三个新的在线市场产品提供成功。（机翻警告）</p>
</li>
<li>
<p>使用您的分析来解决以下具体问题和阳光公司营销总监的要求:</p>
<ol>
<li>基于评论和评级确定一个**度量标准 （data measures）**以便于当该公司将产品投放到市场后的追踪</li>
<li>识别并讨论每个数据集中基于时间的度量和模式，这些度量和模式可能表明产品在在线市场中的声誉正在增加或减少</li>
<li>确定基于文本的度量方法和基于评级的度量方法的组合，以最好地指示潜在的成功或失败的产品。</li>
<li>特定的评星会引发更多的评论吗?例如，在看到一系列的低星级评价后，客户更有可能写一些评论吗?</li>
<li>基于文本的评论的特定质量描述符，如“热情”、“失望”等，是否与评级水平密切相关?</li>
</ol>
</li>
<li>
<p>给阳光公司的市场总监写一封一到两页的信，总结你的团队的分析和结果。包括你的团队最自信地向市场总监推荐的结果的具体理由:</p>
</li>
</ol>
<p>Your submission should consist of:</p>
<ul>
<li>单页汇总表</li>
<li>目录</li>
<li>二页的信</li>
</ul>
<p>注意:参考列表和任何附录不计入页面限制，应在完成解决方案后显示。你不应该使用未经授权的图像和材料，其使用受到版权法的限制。确保你在报告中引用了你的观点和材料。</p>
<ul>
<li>Helpfulness Rating:在决定是否购买某一产品时，对某一产品的评价是否有价值的一个指标</li>
<li>Review: 对产品的书面评价</li>
<li>Star Rating: 在一个允许人们用若干颗星来评价一个产品的系统中给出的分数。</li>
</ul>
<h3 id="题目分析"><a class="markdownIt-Anchor" href="#题目分析"></a> 题目分析</h3>
<p>第一个小题看起来十分费解，结合原文共同理解：<em>Analyze the three product data sets provided to identify, describe, and support with mathematical evidence, meaningful quantitative and/or qualitative patterns, relationships, measures, and parameters within and between star ratings, reviews, and helpfulness ratings that will help Sunshine Company succeed in their three new online marketplace product offerings.</em></p>
<ul>
<li>Analyze the three product data sets provided：分析所提供（provided）的三个数据</li>
<li>to identify, describe, and support with … ：分析三个数据集，目的是为了identify和describe这些数据集，并且你的identify和describe需要以下这些东西的支持：</li>
<li>support with mathematical evidence, meaningful quantitative and/or qualitative patterns, relationships, measures, and parameters：你的identify和describe需要以下这些东西的支持：数学意义上的证据，有意义的定量和/或定性模式，关系，度量和参数</li>
<li>within and between star ratings, reviews, and helpfulness ratings：这些模式关系度量参数是在星级、评论和帮助度之内和之间的（within and between）</li>
</ul>
<p>总结就是这么个意思：分析所提供（provided）的三个数据，目的是为了identify和describe这些数据集，并且你的identify和describe需要以下这些东西的支持：在<strong>星级、评论和帮助度之内和之间</strong>的（within and between）数学意义上的证据，有意义的定量和/或定性模式，关系，度量和参数。换而言之就是用数学的语言描述这三个数据集间三个维度之间或之内的关系，也就是数据分析的第一步，大概认识数据。</p>
<p>mathematical evidence是什么意思？mathematical 词典上的解释是<em>adj. 数学的，数学上的；精确的</em>，不论是哪一种解释都差不多，即必须精确、量化、数字化地描述数据。</p>
<p>第二题：</p>
<ul>
<li>基于评论和星级确定一个度量标准。我们团队的理解是，确定一个合并了两个指标的一个新的度量标准，可以用来衡量当前商品的情况。一种思路是新的指标的不同数字反映了产品的情况（一维的），就像一个数轴，在某个范围商品便认为是处于某种状态的（卖得好或不好）。我们队伍的度量标准是二维的平面图，处于我们划定的椭圆之内的产品是大卖的。<br />
<img src="https://s1.ax1x.com/2020/03/15/81HzLt.png" alt="" /></li>
<li>第二小题需要引入时间维度，很明显的一个时间序列问题。我们队采用的方法是二次指数平滑法，因为这一部分是我另一个队友做的，所以我了解的不是很多，而且我也挺懒的，接触的比较多的是VAR、ARIMA这种，也没细看他的公式。。。</li>
<li><em>确定基于文本的度量方法和基于评级的度量方法的组合</em>，很明显我们需要对文本提炼出一种度量方法，以定量的描述出文本中携带的信息，这一个点可以说是全题的关键了，我们队伍的核心都在如何量化评论上。我想了一个在<strong>高斯过程</strong>的基础上还原真实情况的模型，以预测不同类型产品的大概走势。<em>以最好地指示潜在的成功或失败的产品</em>：什么是<font color=red>潜在</font>?说实话我在构建模型时没有仔细考虑这个问题，只想的是通过一个联合了文本和评星的方程，可以通过评星的多少文本指标的高低反应不同的销售趋量，但是看了一个<strong>大佬的博客</strong><a href="https://wmathor.com/index.php/archives/1421/" target="_blank" rel="noopener">[2]</a>之后发现他认为的潜在是：发现处于要火但是还未火状态的产品，就像我们经常说一个up主是“好看不火”，因此这是一个潜在的up主。而不是我想的预测未来的走势，通过当前的评论、星级发现以后哪些产品有销量上升下降的趋势。</li>
</ul>
<blockquote>
<p>那么问题来了，怎么定义潜在？怎么定义成功（失败）。我是这么想的，将各个品牌按照销量从小到大排序，排序处于 1/4 和 3/4 内的都是潜在品牌。1/4 和 3/4 其实是统计学中比较常见的两个点，一个是下四分位数，一个是上四分位数，这俩数都是有具体意义的，但是我们可以先感性理解一下,假如一个产品的销量处于 3/4，他还能叫做潜在吗，这明明就是很火的产品好么；假如一个产品的销量处于 1/4，销量实在是太小了，可能也才 10 件左右，不可能看得出来潜力的。找出处于 1/4 和 3/4 的品牌后，画出它们的好评率和差评率，好评率高 &amp; 差评率低的当然就是具有成功可能性的潜在产品<a href="https://wmathor.com/index.php/archives/1421/" target="_blank" rel="noopener">[2]</a></p>
</blockquote>
<ul>
<li>特定的评星会引发更多的评论吗?队友做的，他好像是直接肉眼看出来的。。。我拿数据做了一个差分，更多评论就是&gt;0，更多评星也是&gt;0，然后算一下相关系数，有那么一丢丢关联程度吧。。。80%置信水平可以认为相关的那种</li>
<li>基于文本的评论的特定质量描述符，如“热情”、“失望”等，是否与评级水平密切相关? 一拿到这个题我的想法就是关联规则学习（因为寒假学机器学习的时候特别迷这玩意，看到题的时候老琢磨怎么给用上去），首先把文本中的特定描述符提取出来，筛去停用词（stop words），然后星级和特定描述符形成一个项集例如：{5,excellent}，{1,junk}，这就是两个不同特定描述符的部分项集，然后找出该描述符的星级分布，可见其关联性。</li>
</ul>
<p>我们队伍的流程图如下：</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/81xpcD.png" width="400"/>
</center>
<h2 id="数据预处理"><a class="markdownIt-Anchor" href="#数据预处理"></a> 数据预处理</h2>
<p>不知道爬数据的人是故意提升难度的还是咋，脏数据一大堆。有很多不属于该类别的数据被放入了这个类别：</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/81xNgU.png" width="200"/>
</center>
例如在pacifier中发现了宝宝牙刷，hair dryer中发现了镊子，microwave中发现了洗衣机、抽烟机等等，于是把这些数据删去，删去方法可以用python字符串匹配，也可以excel直接用文本筛选功能（越来越觉得excel好用了）。以及会有一些数据错行，比如当筛选是否为vine用户时会发现串行现象，因为不是很多，考虑人工填补或者删去之类的。
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/81z5yF.png" width="400"/>
</center>
<p>还有一个有争议的问题是<strong>verified_purchase (string)</strong>，是否为有效购买，我们队伍理所应当认为只有有效购买之后的评论才有价值，如果没有真的买产品那评论肯定是不负责任的，水军啊收钱了之类的。但我后来发现一个问题：vine用户和非有效购买有很高的重叠性（白嫖石锤了），这导致我们直接舍弃了vine用户的特殊价值，本来还想就着vine用户做一番文章，但没办法，我们认为有效购买的评论才有价值。</p>
<p>删去购买较少的产品，有的产品通常只有一两条评论，这些产品的评星通常没有很大的价值，还会扰乱我们的分析，所以在分析评星和其他指标关系的时候将其删去</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/83pPuF.png" width="200"/><img src="https://s1.ax1x.com/2020/03/15/83pm36.png" width="200"/>
</center>上图为删除前，下图为删除后（review score是后来计算出来的一个指标）
<h2 id="文本量化"><a class="markdownIt-Anchor" href="#文本量化"></a> 文本量化</h2>
<blockquote>
<ul>
<li>review_headline (string)：评论的标题</li>
<li>review_body (string)：The review text</li>
<li>review_date (bigint)：The date the review was written</li>
<li>helpful_votes (int)：Number of helpful votes</li>
<li>total_votes (int)：Number of total votes the review received 评论收到的所有投票：包括有帮助与无帮助</li>
</ul>
</blockquote>
<p>我们假定：一条评论的标题是全部内容的概括，一条评论的主体是标题的补充。例如一条评论标题为“五星好评”，主体则会是为什么好评，产品好在哪里balabala，因此分别分析。我们将一条评论分为三个维度，分别是信息丰度：（Information Abundance），情感取向（Emotional Orientation）和评论可靠度（Review Reliability），分别取自body的除开空格、重复字符之后的字符串长度，标题的情感词和helpful_votes/max(total_votes)</p>
<p>我们认为评论的长度往往能反映一条评论的价值所在：</p>
<blockquote>
<p>Judith A argues that the length of A comment is related to the enthusiasm of the reviewer. The longer the review, the more information it contains, which can help customers understand the product better and thus affect sales.<br />
（Chevalier J AMayzlin D.The effect of word of mouth on sales;Online book reveiw[J].Journal of Marketing Research,2006,43(3):345.）</p>
</blockquote>
<p>我傻了,我发现我们论文里这个地方的引用没写引用数字。。。</p>
<p>情感取向是我挑选出headline中的情感词进行手动排序的，看网上有人说可以引入NLP库中的情感分析库，我始终觉得这个属于引入外部数据，所以没用，还是自己打分好了。</p>
<p>我们采用层次分析法的方式为这三个指标赋予不同的权重，最终得到一个综合的指标review score。</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/83ihS1.png" width="400"/>
</center>
<blockquote>
<p>We set IO is the coefficient of importance of Information Abundance, IE is the coefficient of importance of Emotional Orientation, IR is the coefficient of importance of Review Reliability, l is the maximum characteristic root of the A matrix.</p>
</blockquote>
<p>最终得到各指标占比以计算review score：</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/83iOfA.png" width="400"/>
</center>
<h2 id="数据分析"><a class="markdownIt-Anchor" href="#数据分析"></a> 数据分析</h2>
<h3 id="定性与定量分析"><a class="markdownIt-Anchor" href="#定性与定量分析"></a> 定性与定量分析</h3>
<p>对于每一种商品，我们首先计算出该商品的销售量，然后取明星评级的平均值作为该商品的明星评级，最终得到明星评级与销售量的关系如下图所示:</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/83qhwt.png" width="800"/>
</center>
<p>情感取向和评星之间的关系</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88S7sU.png" width="400"/>
</center>
<p>关于review score和rating联合起来的与销量之间的关系，我们使用了SVR回归模型，希望发现它们之间的关系，于是发现部分商品比如pacifier确实有很强的关联性，但也有些并不有明显的关联</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88p26K.png" width="400"/>
</center>
<h2 id="模型构建"><a class="markdownIt-Anchor" href="#模型构建"></a> 模型构建</h2>
<h3 id="基于星级与评价的联合度量模型"><a class="markdownIt-Anchor" href="#基于星级与评价的联合度量模型"></a> 基于星级与评价的联合度量模型</h3>
<p>我们团队先对整体数据进行了一个大概判断：</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/889Cpq.png" width="400"/>
</center>
认为四星即以上是高评价产品，二星及以下是低评价产品，以及它们的评星平均值，可以说低于这个值的都是不太好的产品。
<p>进一步分析，我构想了一个修正的one-class SVM模型，one class SVM常被用于异常检测，在我之前的博客中有提到过</p>
<blockquote>
<p><a href="https://xiuzhedorothy.gitee.io/2020/02/25/2019-mei-sai-c-ti-lun-wen-yue-du-yu-si-kao-i-1/">2019美赛C题——论文阅读与思考（I）</a></p>
</blockquote>
<blockquote>
<p>另附引文出处：<a href="https://www.cnblogs.com/wj-1314/p/10701708.html" target="_blank" rel="noopener">Python机器学习笔记——One Class SVM</a></p>
</blockquote>
<p>想法是将那些属于低销量产品的点看做异常点，然后用一个椭圆将好的产品圈起来，圈外的产品我们认为是不合格的。为什么是修正的one-class SVM呢，因为我想这是一个有关销量的一分类问题，而不是单纯的评星和评价度量，我希望销量越高的产品越有聚集在一起的可能性，销量越低的产品越有疏远的可能性，于是在原来的欧式距离上加上了一个<strong>销量的倒数</strong>，实现了这么一个要求：</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88ClPs.png" width="400"/>
</center>
其实上式就是在原来的one-class SVM上加上了$S_i$项，最终也确实能够跑出一点效果，如下图所示：
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88C5RI.png" width="200"/>
</center>
小椭圆和大椭圆分别是$C$设置为0.5和0.2的时候的结果，分别反映了50%作为异常点和20%作为异常点。也就是说：处于小椭圆范围内的可以说是卖的非常好的，大椭圆外的产品则是极为差劲的。
<h3 id="基于时间的分析"><a class="markdownIt-Anchor" href="#基于时间的分析"></a> 基于时间的分析</h3>
<p>在这里我们用了二次指数平滑法通过以往的评星对今后的评星趋势做了一个预测。由于不是我做的，而且这种东西比较固定，网上一查一堆，不再赘述原理。</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88PGYd.png" width="600"/>
</center>
<p>说一点自己后来的思考吧（可能有点冒犯队友了，当然做题不就是不断冒犯否定对方看法最终找到正确的过程吗）：原题是<em>识别并讨论每个数据集中基于时间的度量和模式，这些度量和模式可能表明产品在在线市场中的声誉正在增加或减少</em>，赛后我在想，这一问应该不单单是一个时间序列处理问题，不然太没水平了，我觉得应该得到的是一个时间作为自变量而因变量是一个新的指标的模型，而这个新的指标是能够从侧面反映声誉的变化的，声誉是它在轴上平移后的函数（因为还是类似于预测）。还有“声誉”就是评星吗，这也是一个值得商榷的问题，声誉会不会更多的指向评论里面人的评价而非评星？所以是不是应该把变量换成review score或者更进一步只分析review body？这都是一开始考虑问题的时候缺失的地方。</p>
<h3 id="基于高斯过程还原销量的真实情况"><a class="markdownIt-Anchor" href="#基于高斯过程还原销量的真实情况"></a> 基于高斯过程还原销量的真实情况</h3>
<blockquote>
<p>模型的这一部分是我觉得最天马牛逼的地方，也是一直最愿意拿出来说的部分。但实际上最后想想也还是太naive了，属于硬套而且也没用上什么比较专业一点的分析方法，模型的准确性也没没有验证。不过很好的一点是这个模型很具有独创性，自己吃饭的时候突然想出来的，然后立马吃完饭开始试验。我倒希望整个论文里能出现更多这种具有独创性的东西，而不是死套现成的机器学习或者统计学算法，挺没劲的。</p>
</blockquote>
<p>那么这个基于高斯过程的模型是什么呢，问题是让<em>确定基于文本的度量方法和基于评级的度量方法的组合，以最好地指示潜在的成功或失败的产品</em>，于是我先假设在不附加任何外界条件（评星和评论文本）下的产品销量是一个均值1方差1的高斯随机过程：</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88kSSA.png" width="600"/>
</center>
<p>定义<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>S</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">S(t)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathdefault" style="margin-right:0.05764em;">S</span><span class="mopen">(</span><span class="mord mathdefault">t</span><span class="mclose">)</span></span></span></span>时间<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.61508em;vertical-align:0em;"></span><span class="mord mathdefault">t</span></span></span></span>为销量，<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>G</mi><mi>a</mi><mi>u</mi><mi>s</mi><mi>s</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Gauss(t)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathdefault">G</span><span class="mord mathdefault">a</span><span class="mord mathdefault">u</span><span class="mord mathdefault">s</span><span class="mord mathdefault">s</span><span class="mopen">(</span><span class="mord mathdefault">t</span><span class="mclose">)</span></span></span></span>为时间<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.61508em;vertical-align:0em;"></span><span class="mord mathdefault">t</span></span></span></span>上的高斯过程点，此时的差分方程应该是这样：</p>
<p class='katex-block'><span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>S</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>−</mo><mi>S</mi><mo stretchy="false">(</mo><mi>t</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>=</mo><mi>G</mi><mi>a</mi><mi>u</mi><mi>s</mi><mi>s</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>−</mo><mi>G</mi><mi>a</mi><mi>u</mi><mi>s</mi><mi>s</mi><mo stretchy="false">(</mo><mi>t</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">S(t)-S(t-1)=Gauss(t)-Gauss(t-1)
</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathdefault" style="margin-right:0.05764em;">S</span><span class="mopen">(</span><span class="mord mathdefault">t</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathdefault" style="margin-right:0.05764em;">S</span><span class="mopen">(</span><span class="mord mathdefault">t</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathdefault">G</span><span class="mord mathdefault">a</span><span class="mord mathdefault">u</span><span class="mord mathdefault">s</span><span class="mord mathdefault">s</span><span class="mopen">(</span><span class="mord mathdefault">t</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathdefault">G</span><span class="mord mathdefault">a</span><span class="mord mathdefault">u</span><span class="mord mathdefault">s</span><span class="mord mathdefault">s</span><span class="mopen">(</span><span class="mord mathdefault">t</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222222222222222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mclose">)</span></span></span></span></span></p>
<p>可是注意到有的时候当前位置的评论信息丰度（也就是字符串长度）会对下一个时间点的销量产生一个作用，比如下面这一张图</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88kyfH.png" width="600"/>
</center>
红线代表字符串程度，蓝线代表销量，可以看见一个很高的红线之后蓝线处于一个被抑制的状态，但当红线下降，蓝线又开始上升。所以我们在此基础之上修正模型得到：
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88eZMd.png" width="600"/>
</center>
<p>IA代表的就是信息丰度（字符串长度），它被限制在0-1之间，减去0.5再取倒数表明如果是高信息丰度评论则会对销量有抑制，低丰度则会提升销量。因为我们之前查看数据发现比较差劲的产品人们往往会说很多很多它的缺点、不足之处（可以扯一堆犊子），但好的产品平均下来人们只说它确实挺好。于是我做了一个实验，一开始的信息丰度比较高，为0.6，在一个时间点开始，信息丰度改为0.1，效果如下图，可以见信息丰度下来之后，销量直线上升。</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88ecLR.png" width="600"/>
</center>
（我这里还做了许多其他的实验，不过都没保存，也懒得重复，就先不发了）
<p>在此基础之上我们将考虑评星的效果，我认为评星<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>S</mi><mi>t</mi><mi>a</mi><mi>r</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Star(t)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathdefault" style="margin-right:0.05764em;">S</span><span class="mord mathdefault">t</span><span class="mord mathdefault">a</span><span class="mord mathdefault" style="margin-right:0.02778em;">r</span><span class="mopen">(</span><span class="mord mathdefault">t</span><span class="mclose">)</span></span></span></span>是附着在多项式各项上的系数项，评星越高/低则人们购买的期望越大/小，反应人们的期望，所以我将其加到了系数项上，并且人们有购买上市已久的产品的偏好，毕竟赶潮流的只是少数人，于是我会加上一个时间函数<span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">f(t)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathdefault" style="margin-right:0.10764em;">f</span><span class="mopen">(</span><span class="mord mathdefault">t</span><span class="mclose">)</span></span></span></span>（实际上是不断调整意图拟合数据的结果）：</p>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88mb3F.png" width="600"/>
</center>
最后调整好了参数，再模拟了不同IA和Star的情况，以及模拟信息丰度突然上升之后预测结果的变化
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88uARU.png" width="600"/>
</center>
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88udot.png" width="600"/>
</center>
最后拟合到其中一个产品的真实情况，发现大致符合趋势，但由于随机过程的随机性，不能保证精准拟合：
<center class="half">
    <img src="https://s1.ax1x.com/2020/03/15/88u2es.png" width="600"/>
</center>
    </article>
    <!-- license  -->
    
        <div class="license-wrapper">
            <p>原文作者：<a href="http://xiuzhedorothy.gitee.io">宇航猫休蛰</a>
            <p>原文链接：<a href="http://xiuzhedorothy.gitee.io/2020/03/15/2020-mei-sai-c-ti-can-sai-ji-lu/">http://xiuzhedorothy.gitee.io/2020/03/15/2020-mei-sai-c-ti-can-sai-ji-lu/</a>
            <p>发表日期：<a href="http://xiuzhedorothy.gitee.io/2020/03/15/2020-mei-sai-c-ti-can-sai-ji-lu/">March 15th 2020, 1:15:38 pm</a>
            <p>更新日期：<a href="http://xiuzhedorothy.gitee.io/2020/03/15/2020-mei-sai-c-ti-can-sai-ji-lu/">January 24th 2021, 11:24:16 am</a>
            <p>版权声明：本文采用<a rel="license noopener" href="http://creativecommons.org/licenses/by-nc/4.0/" target="_blank">知识共享署名-非商业性使用 4.0 国际许可协议</a>进行许可</p>
        </div>
    
    <!-- paginator  -->
    <ul class="post-paginator">
        <li class="next">
            
                <div class="nextSlogan">Next Post</div>
                <a href= "/2020/03/29/gan/" title= "GAN: the most interesting idea in the last ten years in ML">
                    <div class="nextTitle">GAN: the most interesting idea in the last ten years in ML</div>
                </a>
            
        </li>
        <li class="previous">
            
                <div class="prevSlogan">Previous Post</div>
                <a href= "/2020/03/11/zui-you-hua-shu-xue-li-lun-ji-chu/" title= "最优化：数学理论基础">
                    <div class="prevTitle">最优化：数学理论基础</div>
                </a>
            
        </li>
    </ul>
    <!-- 评论插件 -->
    <!-- 来必力City版安装代码 -->

<!-- City版安装代码已完成 -->
    
    
    <!-- gitalk评论 -->

    <!-- utteranc评论 -->

    <!-- partial('_partial/comment/changyan') -->
    <!--PC版-->


    
    

    <!-- 评论 -->
</main>
            <!-- profile -->
            
        </div>
        <footer class="footer footer-unloaded">
    <!-- social  -->
    
    <div class="social">
        
    
        
            
                <a href="mailto:820915112@qq.com" class="iconfont-archer email" title=email ></a>
            
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    
        
    

    </div>
    
    <!-- powered by Hexo  -->
    <div class="copyright">
        <span id="hexo-power">Powered by <a href="https://hexo.io/" target="_blank">Hexo</a></span><span class="iconfont-archer power">&#xe635;</span><span id="theme-info">theme <a href="https://github.com/fi3ework/hexo-theme-archer" target="_blank">Archer</a></span>
    </div>
    <!-- 不蒜子  -->
    
    <div class="busuanzi-container">
    
     
    <span id="busuanzi_container_site_pv">PV: <span id="busuanzi_value_site_pv"></span> :)</span>
    
    </div>
    
</footer>
    </div>
    <!-- toc -->
    
    <div class="toc-wrapper" style=
    







top:50vh;

    >
        <div class="toc-catalog">
            <span class="iconfont-archer catalog-icon">&#xe613;</span><span>CATALOG</span>
        </div>
        <ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#问题回顾"><span class="toc-number">1.</span> <span class="toc-text"> 问题回顾</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#原题"><span class="toc-number">1.1.</span> <span class="toc-text"> 原题</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#题目分析"><span class="toc-number">1.2.</span> <span class="toc-text"> 题目分析</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#数据预处理"><span class="toc-number">2.</span> <span class="toc-text"> 数据预处理</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#文本量化"><span class="toc-number">3.</span> <span class="toc-text"> 文本量化</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#数据分析"><span class="toc-number">4.</span> <span class="toc-text"> 数据分析</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#定性与定量分析"><span class="toc-number">4.1.</span> <span class="toc-text"> 定性与定量分析</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#模型构建"><span class="toc-number">5.</span> <span class="toc-text"> 模型构建</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#基于星级与评价的联合度量模型"><span class="toc-number">5.1.</span> <span class="toc-text"> 基于星级与评价的联合度量模型</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#基于时间的分析"><span class="toc-number">5.2.</span> <span class="toc-text"> 基于时间的分析</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#基于高斯过程还原销量的真实情况"><span class="toc-number">5.3.</span> <span class="toc-text"> 基于高斯过程还原销量的真实情况</span></a></li></ol></li></ol>
    </div>
    
    <div class="back-top iconfont-archer">&#xe639;</div>
    <div class="sidebar sidebar-hide">
    <ul class="sidebar-tabs sidebar-tabs-active-0">
        <li class="sidebar-tab-archives"><span class="iconfont-archer">&#xe67d;</span><span class="tab-name">Archive</span></li>
        <li class="sidebar-tab-tags"><span class="iconfont-archer">&#xe61b;</span><span class="tab-name">Tag</span></li>
        <li class="sidebar-tab-categories"><span class="iconfont-archer">&#xe666;</span><span class="tab-name">Cate</span></li>
    </ul>
    <div class="sidebar-content sidebar-content-show-archive">
          <div class="sidebar-panel-archives">
    <!-- 在ejs中将archive按照时间排序 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    <div class="total-and-search">
        <div class="total-archive">
        Total : 33
        </div>
        <!-- search  -->
        
    </div>
    
    <div class="post-archive">
    
    
    
    
    <div class="archive-year"> 2021 </div>
    <ul class="year-list">
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">04/21</span><a class="archive-post-title" href= "/2021/04/21/ying-xiang-bian-hua-jian-ce-zong-shu/" >影像变化检测综述</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">03/19</span><a class="archive-post-title" href= "/2021/03/19/ji-qi-xue-xi-zuo-ye-xian-xing-hui-gui/" >机器学习作业：线性回归</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">03/06</span><a class="archive-post-title" href= "/2021/03/06/deep-image-prior/" >deep image prior论文笔记</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">01/24</span><a class="archive-post-title" href= "/2021/01/24/2018mcm-c-ti-zong-ti-hui-gu/" >2018MCM C题总体回顾</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">01/23</span><a class="archive-post-title" href= "/2021/01/23/shi-jian-xu-lie-fen-xi-ji-chu/" >时间序列分析基础</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">01/21</span><a class="archive-post-title" href= "/2021/01/21/cong-shu-ju-wa-jue-jing-sai-dao-mei-sai-c-ti/" >从数据挖掘竞赛到美赛C题——数据预处理与特征工程</a>
        </li>
    
    
    
    
    
        </ul>
    
    <div class="archive-year"> 2020 </div>
    <ul class="year-list">
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">12/21</span><a class="archive-post-title" href= "/2020/12/21/2020-mei-sai-c-ti-lun-wen-fen-xi/" >2020美赛C题论文分析</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">09/25</span><a class="archive-post-title" href= "/2020/09/25/densenet/" >DenseNet：CVPR 2017 Best Paper</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">09/17</span><a class="archive-post-title" href= "/2020/09/17/binarized-mode-seeking-for-scalable-visual-pattern-discovery-lun-wen-yue-du-bi-ji/" >Binarized Mode Seeking for Scalable Visual Pattern Discovery 论文阅读笔记</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">08/07</span><a class="archive-post-title" href= "/2020/08/07/resnet-yi-ge-shen-ke-ying-xiang-jin-hou-wang-luo-she-ji-de-wang-luo/" >ResNet:一个深刻影响今后网络设计的网络</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">07/04</span><a class="archive-post-title" href= "/2020/07/04/mu-biao-jian-ce-suan-fa-yolov3-gai-shu/" >目标检测算法YOLOv3概述</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">06/28</span><a class="archive-post-title" href= "/2020/06/28/patternnet-visual-pattern-mining-with-deep-neural-network-lun-wen-bi-ji/" >PatternNet: Visual Pattern Mining with Deep Neural Network 论文笔记</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">05/16</span><a class="archive-post-title" href= "/2020/05/16/dcgan/" >DCGAN:更容易训练的GAN</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">04/17</span><a class="archive-post-title" href= "/2020/04/17/lstm/" >LSTM：时序预测问题</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">03/29</span><a class="archive-post-title" href= "/2020/03/29/gan/" >GAN: the most interesting idea in the last ten years in ML</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">03/15</span><a class="archive-post-title" href= "/2020/03/15/2020-mei-sai-c-ti-can-sai-ji-lu/" >2020美赛C题参赛纪录</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">03/11</span><a class="archive-post-title" href= "/2020/03/11/zui-you-hua-dan-chun-xing-fa-qiu-jie-xian-xing-gui-hua/" >最优化：单纯形法求解线性规划</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">03/11</span><a class="archive-post-title" href= "/2020/03/11/zui-you-hua-shu-xue-li-lun-ji-chu/" >最优化：数学理论基础</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">03/07</span><a class="archive-post-title" href= "/2020/03/07/batch-normalization-rang-xun-lian-bian-de-geng-jia-rong-yi/" >Batch Normalization:让训练变得更加容易</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">03/02</span><a class="archive-post-title" href= "/2020/03/02/2018-mei-sai-c-ti-lun-wen-yue-du-yu-si-kao/" >2018美赛C题——论文阅读与思考</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">02/27</span><a class="archive-post-title" href= "/2020/02/27/2019-mei-sai-c-ti-lun-wen-yue-du-yu-si-kao-ii/" >2019美赛C题——论文阅读与思考（II）</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">02/25</span><a class="archive-post-title" href= "/2020/02/25/2019-mei-sai-c-ti-lun-wen-yue-du-yu-si-kao-i-1/" >2019美赛C题——论文阅读与思考（I）</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">02/18</span><a class="archive-post-title" href= "/2020/02/18/shen-jing-wang-luo-zhong-de-ji-zhi-you-hua-fang-fa/" >神经网络中的极值优化方法</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">02/16</span><a class="archive-post-title" href= "/2020/02/16/welcome-to-my-own-repository/" >Welcome to my own repository</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">02/10</span><a class="archive-post-title" href= "/2020/02/10/chong-xin-ren-shi-anaconda/" >重新认识Anaconda</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">02/01</span><a class="archive-post-title" href= "/2020/02/01/pytorch-xue-xi-di-san-ke-shen-jing-wang-luo-gong-ju-xiang-torch-nn/" >pytorch学习第三课：神经网络工具箱Torch.nn</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">01/31</span><a class="archive-post-title" href= "/2020/01/31/python-hui-gu-zhi-lei-yu-dui-xiang/" >python回顾之类与对象</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">01/31</span><a class="archive-post-title" href= "/2020/01/31/pytorch-xue-xi-di-er-ke-autograd/" >pytorch学习第二课：AutoGrad</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">01/30</span><a class="archive-post-title" href= "/2020/01/30/pytorch-xue-xi-di-yi-ke-tensor/" >pytorch学习第一课：Tensor</a>
        </li>
    
    
    
    
    
        </ul>
    
    <div class="archive-year"> Invalid date </div>
    <ul class="year-list">
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">Invalid date</span><a class="archive-post-title" href= "/2020/01/16/hello-world/" >Hello World</a>
        </li>
    
    
    
    
    
        </ul>
    
    <div class="archive-year"> 2020 </div>
    <ul class="year-list">
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">01/19</span><a class="archive-post-title" href= "/2020/01/19/qian-kui-shen-jing-wang-luo-xiao-jie/" >前馈神经网络小结</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">01/19</span><a class="archive-post-title" href= "/2020/01/19/zi-dong-ti-du-ji-suan-yu-you-hua-wen-ti/" >自动梯度计算与优化问题</a>
        </li>
    
    
        <li class="archive-post-item">
            <span class="archive-post-date">01/16</span><a class="archive-post-title" href= "/2020/01/16/ji-qi-xue-xi-shi-zhan-di-yi-ke-knn-jin-lin-suan-fa/" >机器学习实战第一课——KNN近邻算法</a>
        </li>
    
    </div>
  </div>
        <div class="sidebar-panel-tags">
    <div class="sidebar-tags-name">
    
        <span class="sidebar-tag-name" data-tags="数学建模"><span class="iconfont-archer">&#xe606;</span>数学建模</span>
    
        <span class="sidebar-tag-name" data-tags="深度学习"><span class="iconfont-archer">&#xe606;</span>深度学习</span>
    
        <span class="sidebar-tag-name" data-tags="论文笔记"><span class="iconfont-archer">&#xe606;</span>论文笔记</span>
    
        <span class="sidebar-tag-name" data-tags="github"><span class="iconfont-archer">&#xe606;</span>github</span>
    
        <span class="sidebar-tag-name" data-tags="pytorch"><span class="iconfont-archer">&#xe606;</span>pytorch</span>
    
        <span class="sidebar-tag-name" data-tags="python"><span class="iconfont-archer">&#xe606;</span>python</span>
    
        <span class="sidebar-tag-name" data-tags="最优化理论"><span class="iconfont-archer">&#xe606;</span>最优化理论</span>
    
        <span class="sidebar-tag-name" data-tags="时间序列分析"><span class="iconfont-archer">&#xe606;</span>时间序列分析</span>
    
        <span class="sidebar-tag-name" data-tags="目标检测"><span class="iconfont-archer">&#xe606;</span>目标检测</span>
    
        <span class="sidebar-tag-name" data-tags="科学计算"><span class="iconfont-archer">&#xe606;</span>科学计算</span>
    
        <span class="sidebar-tag-name" data-tags="数据处理"><span class="iconfont-archer">&#xe606;</span>数据处理</span>
    
        <span class="sidebar-tag-name" data-tags="机器学习"><span class="iconfont-archer">&#xe606;</span>机器学习</span>
    
        <span class="sidebar-tag-name" data-tags="change detection"><span class="iconfont-archer">&#xe606;</span>change detection</span>
    
    </div>
    <div class="iconfont-archer sidebar-tags-empty">&#xe678;</div>
    <div class="tag-load-fail" style="display: none; color: #ccc; font-size: 0.6rem;">
    缺失模块。<br/>
    1、请确保node版本大于6.2<br/>
    2、在博客根目录（注意不是archer根目录）执行以下命令：<br/>
    <span style="color: #f75357; font-size: 1rem; line-height: 2rem;">npm i hexo-generator-json-content --save</span><br/>
    3、在根目录_config.yml里添加配置：
    <pre style="color: #787878; font-size: 0.6rem;">
jsonContent:
  meta: false
  pages: false
  posts:
    title: true
    date: true
    path: true
    text: false
    raw: false
    content: false
    slug: false
    updated: false
    comments: false
    link: false
    permalink: false
    excerpt: false
    categories: true
    tags: true</pre>
    </div> 
    <div class="sidebar-tags-list"></div>
</div>
        <div class="sidebar-panel-categories">
    <div class="sidebar-categories-name">
    
        <span class="sidebar-category-name" data-categories="数学建模"><span class="iconfont-archer">&#xe60a;</span>数学建模</span>
    
        <span class="sidebar-category-name" data-categories="机器学习-深度学习"><span class="iconfont-archer">&#xe60a;</span>机器学习-深度学习</span>
    
        <span class="sidebar-category-name" data-categories="编程语言"><span class="iconfont-archer">&#xe60a;</span>编程语言</span>
    
        <span class="sidebar-category-name" data-categories="最优化理论"><span class="iconfont-archer">&#xe60a;</span>最优化理论</span>
    
        <span class="sidebar-category-name" data-categories="数据处理"><span class="iconfont-archer">&#xe60a;</span>数据处理</span>
    
        <span class="sidebar-category-name" data-categories="目标检测"><span class="iconfont-archer">&#xe60a;</span>目标检测</span>
    
        <span class="sidebar-category-name" data-categories="科学计算"><span class="iconfont-archer">&#xe60a;</span>科学计算</span>
    
    </div>
    <div class="iconfont-archer sidebar-categories-empty">&#xe678;</div>
    <div class="sidebar-categories-list"></div>
</div>
    </div>
</div> 
    <script>
    var siteMeta = {
        root: "/",
        author: "宇航猫休蛰"
    }
</script>
    <!-- CDN failover -->
    <script src="https://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js"></script>
    <script type="text/javascript">
        if (typeof window.$ === 'undefined')
        {
            console.warn('jquery load from jsdelivr failed, will load local script')
            document.write('<script src="/lib/jquery.min.js">\x3C/script>')
        }
    </script>
    <script src="/scripts/main.js"></script>
    <!-- algolia -->
    
    <!-- busuanzi  -->
    
    <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    
    <!-- CNZZ  -->
    
    </div>
    <!-- async load share.js -->
    
        <script src="/scripts/share.js" async></script>    
     
    </body>
</html>


